package futu

/*
	给两个数组，每个数组取一个数，求两数相加最小的前n对
	问题：
		1. 数值一样的数算同一对吗？
	暴力解：
		遍历组合，求出前n的最小和以及数
		n*n + n*logN   -> n^2
	优化：
		1. 分别排序 2*NlogN + 2N（双指针） -> N*logN
		2. 直接使用大根堆，分别收集

	拓展：
		大根堆：【8，5，10, 4, 3】 求数组中最小的前2
			1. 设置堆的容量为 2
			2. 堆不为空，8加入到堆中
			3. 堆未满，加入堆中，5比8小，此时堆中的数据：8、5
			4. 堆已满，10比堆顶8大，不加入堆中
			5. 堆已满，4比堆顶8小，加入堆中，此时的堆中数据：5、4
			6. 堆已满，3比堆顶5小，加入堆中，此时的堆中数据：4、3

			得到最小的前2个数为： 3、4

		小根堆：同理，用于求出数组中最大的前两项

*/
func TwoArrMinNSum(arr1, arr2 []int, n int) []int {
	return []int{}
}
